
function toTable(arry, tableList, childKey = 'children') {
  // 第一个参数是tree的数据，第二个是用来存储的数字，第三个是树的子节点的key
  try {
    arry.forEach(item => {
      tableList.push(item)
      if (item[childKey] && item[childKey].length > 0) {
        toTable(item[childKey], tableList)
      }
    })
  } catch (error) {
    console.error('树转表报错' + error)
  }
}

function findNodeByKey(array, nodes, key) {
  // 第一个参数是key的数组，第二个是树节点的数组，第三个是需要找的key
  try {
    const response = []
    array.forEach(i => {
      nodes.forEach(item => {
        if (i === item[key]) {
          response.push(item)
        }
      })
    })
    return response
  } catch (error) {
    console.error('查找node报错' + error)
  }
}

const treeUtils = {
  toTable: toTable,
  findNodeByKey: findNodeByKey
}

export default treeUtils
